//
// 此文件是由 JavaTM Architecture for XML Binding (JAXB) 引用实现 v2.2.6 生成的
// 请访问 <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// 在重新编译源模式时, 对此文件的所有修改都将丢失。
// 生成时间: 2017.03.14 时间 02:37:53 PM CST 
//


package cn.edu.scau.cmi.liangzaoqing.database.model;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>tableType complex type的 Java 类。
 * 
 * <p>以下模式片段指定包含在此类中的预期内容。
 * 
 * <pre>
 * &lt;complexType name="tableType">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="primaryKeys" type="{cn.edu.scau.cmi.liangshanero}primarykeysType"/>
 *         &lt;element name="basicColumns" type="{cn.edu.scau.cmi.liangshanero}columnsType"/>
 *         &lt;element name="foreigns" type="{cn.edu.scau.cmi.liangshanero}foreignsType"/>
 *         &lt;element name="referenceds" type="{cn.edu.scau.cmi.liangshanero}referencedType"/>
 *       &lt;/sequence>
 *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "tableType", propOrder = {
	"allColumns",	
    "primaryKeys",
    "physicalPrimaryKeys",
    "basicColumns",
    "foreigns",
    "referenceds"
})
public class TableType {

	@XmlElement(required = true)
	protected AllColumnsType allColumns;	
    @XmlElement(required = true)
    protected PrimaryKeysType primaryKeys;
    @XmlElement(required = true)
    protected PhysicalPrimaryKeysType physicalPrimaryKeys;
    @XmlElement(required = true)
    protected ColumnsType basicColumns;
    @XmlElement(required = true)
    protected ForeignsType foreigns;
    @XmlElement(required = true)
    protected ReferencedsType referenceds;
    @XmlAttribute(name = "name", required = true)
    protected String name;
    
    @XmlAttribute(name = "isRelation", required = true)
    protected String isRelation;
    
    @XmlAttribute(name = "allColumnCount", required = true)
    protected Integer allColumnCount;
    
    @XmlAttribute(name = "primaryKeyCount", required = true)
    protected Integer primaryKeyCount;
    
    @XmlAttribute(name = "physicalPrimaryKeyCount", required = true)
    protected Integer physicalPrimaryKeyCount;
    
    @XmlAttribute(name = "basicColumnCount", required = true)
    protected Integer basicColumnCount;

    @XmlAttribute(name = "foreignKeyCount", required = true)
    protected Integer foreignKeyCount;
    
    @XmlAttribute(name = "referencedCount", required = true)
    protected Integer referencedCount;
   
    @XmlAttribute(name = "compositeKey", required = true)
    protected String compositeKey;
    /**
     * 获取allColumns属性的值。
     * 
     * @return
     *     possible object is
     *     {@link AllColumnsType }
     *     
     */
    public AllColumnsType getAllColumns() {
		return allColumns;
	}

    /**
     * 设置allColumns属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link AllColumnsType }
     *     
     */
	public void setAllColumns(AllColumnsType allColumns) {
		this.allColumns = allColumns;
	}

	/**
     * 获取primaryKeys属性的值。
     * 
     * @return
     *     possible object is
     *     {@link PrimaryKeysType }
     *     
     */
    public PrimaryKeysType getPrimaryKeys() {
        return primaryKeys;
    }

    /**
     * 设置primaryKeys属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link PrimaryKeysType }
     *     
     */
    public void setPrimaryKeys(PrimaryKeysType value) {
        this.primaryKeys = value;
    }

    /**
     * 获取physicalPrimaryKeys属性的值。
     * 
     * @return
     *     possible object is
     *     {@link PhysicalPrimaryKeysType }
     *     
     */
    public PhysicalPrimaryKeysType getPhysicalPrimaryKeys() {
        return physicalPrimaryKeys;
    }

    /**
     * 设置physicalPrimaryKeys属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link PhysicalPrimaryKeysType }
     *     
     */
    public void setPhysicalPrimaryKeys(PhysicalPrimaryKeysType value) {
        this.physicalPrimaryKeys = value;
    }

    /**
     * 获取columns属性的值。
     * 
     * @return
     *     possible object is
     *     {@link ColumnsType }
     *     
     */
    public ColumnsType getBasicColumns() {
        return basicColumns;
    }

    /**
     * 设置columns属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link ColumnsType }
     *     
     */
    public void setBasicColumns(ColumnsType value) {
        this.basicColumns = value;
    }

    /**
     * 获取foreigns属性的值。
     * 
     * @return
     *     possible object is
     *     {@link ForeignsType }
     *     
     */
    public ForeignsType getForeigns() {
        return foreigns;
    }

    /**
     * 设置foreigns属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link ForeignsType }
     *     
     */
    public void setForeigns(ForeignsType value) {
        this.foreigns = value;
    }

    /**
     * 获取referenceds属性的值。
     * 
     * @return
     *     possible object is
     *     {@link ReferencedsType }
     *     
     */
    public ReferencedsType getReferenceds() {
        return referenceds;
    }

    /**
     * 设置referenceds属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link ReferencedsType }
     *     
     */
    public void setReferenceds(ReferencedsType value) {
        this.referenceds = value;
    }

    /**
     * 获取name属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getName() {
        return name;
    }

    /**
     * 设置name属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setName(String value) {
        this.name = value;
    }
    
    /**
     * 获取isRelation属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getIsRelation() {
        return isRelation;
    }

    /**
     * 设置isRelation属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setIsRelation(String value) {
        this.isRelation = value;
    }

	public Integer getAllColumnCount() {
		return allColumnCount;
	}

	public void setAllColumnCount(Integer allCount) {
		this.allColumnCount = allCount;
	}

	public Integer getPrimaryKeyCount() {
		return primaryKeyCount;
	}

	public void setPrimaryKeyCount(Integer pKCount) {
		primaryKeyCount = pKCount;
	}

	public Integer getPhysicalPrimaryKeyCount() {
		return physicalPrimaryKeyCount;
	}

	public void setPhysicalPrimaryKeyCount(Integer physicalKCount) {
		this.physicalPrimaryKeyCount = physicalKCount;
	}

	public Integer getBasicColumnCount() {
		return basicColumnCount;
	}

	public void setBasicColumnCount(Integer basicKCount) {
		this.basicColumnCount = basicKCount;
	}

	public Integer getForeignKeyCount() {
		return foreignKeyCount;
	}

	public void setForeignKeyCount(Integer fKCount) {
		foreignKeyCount = fKCount;
	}

	public Integer getReferencedCount() {
		return referencedCount;
	}

	public void setReferencedCount(Integer referencedKCount) {
		this.referencedCount = referencedKCount;
	}

	
	
	public String getCompositeKey() {
		return compositeKey;
	}

	public void setCompositeKey(String compositeKey) {
		this.compositeKey = compositeKey;
	}

	@Override
	public String toString() {
		return "TableType [physicalPrimaryKeys="
				+ physicalPrimaryKeys
				+"]";
	}
	
}
